//package com.ruoyi.web.controller.gcgl;
//
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import org.apache.shiro.authz.annotation.RequiresPermissions;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.ui.ModelMap;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.multipart.MultipartFile;
//
//import com.ruoyi.common.annotation.Log;
//import com.ruoyi.common.config.RuoYiConfig;
//import com.ruoyi.common.config.ServerConfig;
//import com.ruoyi.common.core.controller.BaseController;
//import com.ruoyi.common.core.domain.AjaxResult;
//import com.ruoyi.common.core.domain.entity.SysUser;
//import com.ruoyi.common.core.page.TableDataInfo;
//import com.ruoyi.common.core.text.Convert;
//import com.ruoyi.common.enums.BusinessType;
//import com.ruoyi.common.utils.DateUtils;
//import com.ruoyi.common.utils.DecimalCalculateUtil;
//import com.ruoyi.common.utils.StringUtils;
//import com.ruoyi.common.utils.file.FileUploadUtils;
//import com.ruoyi.common.utils.file.FileUtils;
//import com.ruoyi.common.utils.poi.ExcelUtil;
//import com.ruoyi.gcgl.domain.GcFk;
//import com.ruoyi.gcgl.domain.GcFkfp;
//import com.ruoyi.gcgl.domain.GcProject;
//import com.ruoyi.gcgl.domain.GcProjectFlow;
//import com.ruoyi.gcgl.domain.GcProjectSbclht;
//import com.ruoyi.gcgl.domain.GcProjectSbclhtFj;
//import com.ruoyi.gcgl.domain.GcProjectSbclhtjhd;
//import com.ruoyi.gcgl.domain.GcSupply;
//import com.ruoyi.gcgl.mapper.GcSendTipMapper;
//import com.ruoyi.gcgl.service.IGcFkService;
//import com.ruoyi.gcgl.service.IGcFkfpService;
//import com.ruoyi.gcgl.service.IGcProjectFlowService;
//import com.ruoyi.gcgl.service.IGcProjectSbclhtFjService;
//import com.ruoyi.gcgl.service.IGcProjectSbclhtService;
//import com.ruoyi.gcgl.service.IGcProjectSbclhtcrkdService;
//import com.ruoyi.gcgl.service.IGcProjectSbclhtcrkditemService;
//import com.ruoyi.gcgl.service.IGcProjectSbclhtjhdService;
//import com.ruoyi.gcgl.service.IGcProjectService;
//import com.ruoyi.gcgl.service.IGcSendTipService;
//import com.ruoyi.gcgl.service.IGcSupplyService;
//import com.ruoyi.system.service.ISysUserService;
//import com.ruoyi.web.controller.tool.AliyunSmsUtils;
//
///**
// * 设备材料合同Controller
// * 
// * @author ruoyi
// * @date 2022-11-29
// */
//@Controller
//@RequestMapping("/gcgl/sbclht")
//public class GcProjectSbclhtController extends BaseController{
//	private static final Logger log = LoggerFactory.getLogger(GcProjectQtwjController.class);
//	
//    private String prefix = "gcgl/sbclht";
//
//    @Autowired
//    private ISysUserService sysUserService;
//    @Autowired
//    private IGcProjectSbclhtService gcProjectSbclhtService;
//    @Autowired
//    private IGcProjectSbclhtFjService gcProjectSbclhtFjService;
//    @Autowired
//    private IGcProjectService gcProjectService;
//    @Autowired
//    private IGcProjectFlowService gcProjectFlowService;
//    @Autowired
//    private IGcProjectSbclhtjhdService gcProjectSbclhtjhdService;
//    @Autowired
//    private IGcProjectSbclhtcrkdService gcProjectSbclhtcrkdService;
//    @Autowired
//    private IGcProjectSbclhtcrkditemService gcProjectSbclhtcrkditemService;
//    @Autowired
//    private IGcSupplyService gcSupplyService;
//    @Autowired
//    private ServerConfig serverConfig;
//    
//    private static final String FILE_DELIMETER = ",";
//    
//    @Autowired
//    private IGcFkfpService gcFkfpService;
//    @Autowired
//    private IGcFkService gcFkService;
//    @Autowired
//    private IGcSendTipService gcSendTipService;
//    @Autowired
//    private GcSendTipMapper gcSendTipMapper;
//
//    @RequiresPermissions("gcgl:sbclht:view")
//    @GetMapping()
//    public String sbclht(ModelMap mmap)
//    {
//    	GcSupply gcSupply = new GcSupply();
//    	gcSupply.setDeleteFlag(1);
//    	gcSupply.setType(4);
//    	List<GcSupply> gcSupplyLis = gcSupplyService.selectGcSupplyList(gcSupply);
//    	mmap.put("gcSupplyLis", gcSupplyLis);
//        return prefix + "/sbclht";
//    }
//
//    /**
//     * 查询设备材料合同列表
//     */
//    @RequiresPermissions("gcgl:sbclht:list")
//    @PostMapping("/list")
//    @ResponseBody
//    public TableDataInfo list(GcProjectSbclht gcProjectSbclht)
//    {
//        startPage();
//        gcProjectSbclht.setDeleteFlag(1);
//        if(getSysUser().isShowRoleIds(roleIds)){
//        gcProjectSbclht.setCreateUser(getLoginName());
//        }
//        List<GcProjectSbclht> list = gcProjectSbclhtService.selectGcProjectSbclhtList(gcProjectSbclht);
//        return getDataTable(list);
//    }
//
//    /**
//     * 导出设备材料合同列表
//     */
//    @RequiresPermissions("gcgl:sbclht:export")
//    @Log(title = "设备材料合同", businessType = BusinessType.EXPORT)
//    @PostMapping("/export")
//    @ResponseBody
//    public AjaxResult export(GcProjectSbclht gcProjectSbclht)
//    {
//    	gcProjectSbclht.setDeleteFlag(1);
//    	if(getSysUser().isShow()){
//            gcProjectSbclht.setCreateUser(getLoginName());
//            }
//        List<GcProjectSbclht> list = gcProjectSbclhtService.selectGcProjectSbclhtList(gcProjectSbclht);
//        ExcelUtil<GcProjectSbclht> util = new ExcelUtil<GcProjectSbclht>(GcProjectSbclht.class);
//        return util.exportExcel(list, "设备材料合同数据");
//    }
//
//    /**
//     * 新增设备材料合同
//     */
//    @GetMapping("/add/{gcProjectid}")
//    public String add(ModelMap mmap,@PathVariable("gcProjectid") Long gcProjectid){
//    	GcProject gcProject = gcProjectService.selectGcProjectById(gcProjectid);
//    	mmap.put("gcProject", gcProject);
//    	
//    	GcSupply gcSupply = new GcSupply();
//    	gcSupply.setDeleteFlag(1);
//    	String[] typelis = new String[]{"3","4"};
//    	gcSupply.setTypelis(typelis);
//    	List<GcSupply> gcSupplyLis = gcSupplyService.selectGcSupplyList(gcSupply);
//    	mmap.put("gcSupplyLis", gcSupplyLis);
//        return prefix + "/add";
//    }
//    
//    /**
//     * 新增保存设备材料合同
//     */
//    @RequiresPermissions("gcgl:sbclht:add")
//    @Log(title = "设备材料合同", businessType = BusinessType.INSERT)
//    @PostMapping("/add")
//    @ResponseBody
//    public AjaxResult addSave(GcProjectSbclht gcProjectSbclht){
//    	try {
////    		SimpleDateFormat sdy = new SimpleDateFormat("yyyy");
////    		SimpleDateFormat sdm = new SimpleDateFormat("MM");
////    		int year = Integer.parseInt(sdy.format(new Date()));
////    		int month = Integer.parseInt(sdm.format(new Date()));
////    		GcProjectSbclht newObj = new GcProjectSbclht();
////    		newObj.setDeleteFlag(1);
////    		newObj.setCreateAt(DateUtils.getFisrtDayOfMonth(year, month));
////    		newObj.setUpdateAt(DateUtils.getLastDayOfMonth(year, month));
////    		List<GcProjectSbclht> lisCount = gcProjectSbclhtService.selectGcProjectSbclhtList(newObj);
////    		String no = String.format("%02d", lisCount.size()+1);
//    		GcProject gcProject = gcProjectService.selectGcProjectById(gcProjectSbclht.getGcProjectid());
//    		gcProjectSbclht.setOrderNo(gcProject.getOrderNo());
//    		
//    		GcSupply supplyObj = gcSupplyService.selectGcSupplyById(gcProjectSbclht.getSupplyId());
//    		//施工安装合同
//    		gcProjectSbclht.setSupplyName(supplyObj.getName());
//    		gcProjectSbclht.setStatus(0);
//    		gcProjectSbclht.setDeleteFlag(1);
//    		gcProjectSbclht.setCreateAt(new Date());
//    		gcProjectSbclht.setUpdateAt(new Date());
//    		gcProjectSbclht.setCreateUser(getLoginName());
//    		gcProjectSbclht.setUpdateUser(getLoginName());
//    		
//    		SysUser user = sysUserService.selectUserById(getUserId());
//    		gcProjectSbclht.setSpr(user.getZjsjName());//2024年12月30日修改，增加分管领导审批
//    		
//        	gcProjectSbclhtService.insertGcProjectSbclht(gcProjectSbclht);
//        	
//        	//查询流程图
//            GcProjectFlow gcProjectFlow = new GcProjectFlow();
//            gcProjectFlow.setGcProjectid(gcProjectSbclht.getGcProjectid());
//            gcProjectFlow = gcProjectFlowService.selectGcProjectFlowList(gcProjectFlow).get(0);
//            
//            GcProjectFlow obj = new GcProjectFlow();
//            //判断是否启用项目审批节点
//            obj.setSbclht(1);
//            obj.setSbclhtcrk(0);
//            obj.setSbclhtfk(0);
//            obj.setSbclhtfp(0);
//            obj.setSbclhtjhd(0);
//            obj.setSbclhtps(1);
//            obj.setGcProjectid(gcProjectFlow.getGcProjectid());
//            gcProjectFlowService.updateGcProjectFlow(obj);
//            
//            //发送消息通知
////        	gcSendTipService.sendTipXm("sbclht", gcProjectSbclht.getName(), gcProjectSbclht.getOrderNo(), 
////        			gcProjectSbclht.getCreateUser(), DateUtils.dateTime(gcProjectSbclht.getCreateAt()), 
////        			gcProjectSbclht.getStatus().toString(), null, gcProjectSbclht.getId().toString());
//            
//            try {
////        		List<Map> userlis = gcSendTipMapper.selectGcToUserByName(gcProjectSbclht.getCreateUser());
////        		if(userlis!=null && userlis.size()>0){
////        			String phonenumber = userlis.get(0).get("phonenumber").toString();//创建人
//            	String phonenumber = user.getPhonenumber();
//        			AliyunSmsUtils.returnSmsTz(phonenumber);
////        		}
//			} catch (Exception e) {
//				// TODO: handle exception
//				e.printStackTrace();
//			}
//		} catch (Exception e) {
//			// TODO: handle exception
//			return error(e.getMessage());
//		}
//    	
//        return toAjax(1);
//    	
//    }
//
//    /**
//     * 修改设备材料合同
//     */
//    @RequiresPermissions("gcgl:sbclht:edit")
//    @GetMapping("/edit/{id}")
//    public String edit(@PathVariable("id") Long id, ModelMap mmap){
//        GcProjectSbclht gcProjectSbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(id);
//        
//        mmap.put("zlwjvo", gcProjectSbclht.getZlwj());
//        if(gcProjectSbclht.getZlwj()!=null && !gcProjectSbclht.getZlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getZlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setZlwj(file);
//        }
//        
//        mmap.put("gcProjectSbclht", gcProjectSbclht);
//        
//        GcSupply gcSupply = new GcSupply();
//    	gcSupply.setDeleteFlag(1);
//    	String[] typelis = new String[]{"3","4"};
//    	gcSupply.setTypelis(typelis);
//    	List<GcSupply> gcSupplyLis = gcSupplyService.selectGcSupplyList(gcSupply);
//    	mmap.put("gcSupplyLis", gcSupplyLis);
//        return prefix + "/edit";
//    }
//
//    /**
//     * 修改保存设备材料合同
//     */
//    @RequiresPermissions("gcgl:sbclht:edit")
//    @Log(title = "设备材料合同", businessType = BusinessType.UPDATE)
//    @PostMapping("/edit")
//    @ResponseBody
//    public AjaxResult editSave(GcProjectSbclht gcProjectSbclht){
//    	try {
//    		GcSupply supplyObj = gcSupplyService.selectGcSupplyById(gcProjectSbclht.getSupplyId());
//    		//施工安装合同
//    		gcProjectSbclht.setStatus(0);
//    		gcProjectSbclht.setSupplyName(supplyObj.getName());
//    		gcProjectSbclht.setSpr("");
//    		gcProjectSbclht.setZjl("");
//    		gcProjectSbclht.setUpdateAt(new Date());
//    		gcProjectSbclht.setUpdateUser(getLoginName());
//        	gcProjectSbclhtService.updateGcProjectSbclht(gcProjectSbclht);
//		} catch (Exception e) {
//            return error(e.getMessage());
//		}
//    	
//        return toAjax(1);
//    }
//
//    /**
//     * 删除设备材料合同
//     */
//    @RequiresPermissions("gcgl:sbclht:remove")
//    @Log(title = "设备材料合同", businessType = BusinessType.DELETE)
//    @PostMapping( "/remove")
//    @ResponseBody
//    public AjaxResult remove(String ids)
//    {
//        return toAjax(gcProjectSbclhtService.deleteGcProjectSbclhtByIds(ids));
//    }
//    
//    //项目评审
//    @RequiresPermissions("gcgl:sbclht:psview")
//    @GetMapping("/ps")
//    public String sbclhtps(){
//        return prefix + "/sbclhtps";
//    }
//    
//    /**
//     * 查询设备材料合同列表
//     */
//    @PostMapping("/pslist")
//    @ResponseBody
//    public TableDataInfo pslist(GcProjectSbclht gcProjectSbclht)
//    {
//        startPage();
//        gcProjectSbclht.setDeleteFlag(1);
//        gcProjectSbclht.setStatus(0);
//        gcProjectSbclht.setSpr(getLoginName());
//        List<GcProjectSbclht> list = gcProjectSbclhtService.selectGcProjectSbclhtList(gcProjectSbclht);
//        return getDataTable(list);
//    }
//    
//    @Log(title = "通过", businessType = BusinessType.UPDATE)
//    @PostMapping("/yes")
//    @ResponseBody
//    public AjaxResult yes(String ids,String spyj, ModelMap mmap){
//    	String[] id = Convert.toStrArray(ids);
//    	for(int i=0;i<id.length;i++){
//    		
//    		GcProjectSbclht sbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i].toString()));
//    		if(sbclht!=null){
//    			GcProjectSbclht gcProjectSbclht = new GcProjectSbclht();
//        		gcProjectSbclht.setId(Long.parseLong(id[i]));
//        		gcProjectSbclht.setStatus(1);
//        		gcProjectSbclht.setSpr(getLoginName());
//        		gcProjectSbclht.setSprAt(new Date());
//        		gcProjectSbclht.setSpyj(spyj);
//        		gcProjectSbclhtService.updateGcProjectSbclht(gcProjectSbclht);
//        		
//        		GcProjectSbclht obj = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i]));
//        		//发送消息通知
////            	gcSendTipService.sendTipXm("sbclht", obj.getName(), obj.getOrderNo(), 
////            			obj.getCreateUser(), DateUtils.dateTime(obj.getCreateAt()), 
////            			obj.getStatus().toString(), null, obj.getId().toString());
//        		
//        		try {
////            		List<Map> userlis = gcSendTipMapper.selectGcToUserByName(gcProjectSbclht.getCreateUser());
////            		if(userlis!=null && userlis.size()>0){
////            			String phonenumber = userlis.get(0).get("phonenumber").toString();//创建人
//        			String phonenumber = zjl;
//            			AliyunSmsUtils.returnSmsTz(phonenumber);
////            		}
//    			} catch (Exception e) {
//    				// TODO: handle exception
//    				e.printStackTrace();
//    			}
//    		}
//    	}
//    	
//    	return toAjax(1);
//    }
//    
//    @Log(title = "不通过", businessType = BusinessType.UPDATE)
//    @PostMapping("/no")
//    @ResponseBody
//    public AjaxResult no(String ids,String spyj, ModelMap mmap){
//    	String[] id = Convert.toStrArray(ids);
//    	for(int i=0;i<id.length;i++){
//    		GcProjectSbclht sbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i].toString()));
//    		if(sbclht!=null){
//    			GcProjectSbclht gcProjectSbclht = new GcProjectSbclht();
//        		gcProjectSbclht.setId(Long.parseLong(id[i]));
//        		gcProjectSbclht.setStatus(2);
//        		gcProjectSbclht.setSpr(getLoginName());
//        		gcProjectSbclht.setSprAt(new Date());
//        		gcProjectSbclht.setSpyj(spyj);
//        		gcProjectSbclhtService.updateGcProjectSbclht(gcProjectSbclht);
//        		
//        		GcProjectFlow obj = new GcProjectFlow();
//            	obj.setGcProjectid(sbclht.getGcProjectid());
//                obj.setSbclht(1);
//                obj.setSbclhtps(0);
//                obj.setUpdateAt(new Date());
//                obj.setUpdateUser(getLoginName());
//            	gcProjectFlowService.updateGcProjectFlow(obj);
//            	
//            	GcProjectSbclht l_obj = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i]));
//        		//发送消息通知
////            	gcSendTipService.sendTipXm("sbclht", l_obj.getName(), l_obj.getOrderNo(), 
////            			l_obj.getCreateUser(), DateUtils.dateTime(l_obj.getCreateAt()), 
////            			l_obj.getStatus().toString(), null, l_obj.getId().toString());
//            	
//            	try {
//            		List<Map> userlis = gcSendTipMapper.selectGcToUserByName(gcProjectSbclht.getCreateUser());
//            		if(userlis!=null && userlis.size()>0){
//            			String phonenumber = userlis.get(0).get("phonenumber").toString();//创建人
//            			AliyunSmsUtils.returnSmsTz(phonenumber);
//            		}
//    			} catch (Exception e) {
//    				// TODO: handle exception
//    				e.printStackTrace();
//    			}
//    		}
//    	}
//    	return toAjax(1);
//    }
//    
//    //项目评审
//    @RequiresPermissions("gcgl:sbclht:zjlpsview")
//    @GetMapping("/zjlps")
//    public String sbclhtzjlps(){
//        return prefix + "/sbclhtzjlps";
//    }
//    
//    /**
//     * 查询设备材料合同列表
//     */
//    @PostMapping("/zjlpslist")
//    @ResponseBody
//    public TableDataInfo zjlpslist(GcProjectSbclht gcProjectSbclht)
//    {
//        startPage();
//        gcProjectSbclht.setDeleteFlag(1);
//        gcProjectSbclht.setStatus(1);
//        List<GcProjectSbclht> list = gcProjectSbclhtService.selectGcProjectSbclhtList(gcProjectSbclht);
//        return getDataTable(list);
//    }
//    
//    @Log(title = "通过", businessType = BusinessType.UPDATE)
//    @PostMapping("/zjlyes")
//    @ResponseBody
//    public AjaxResult zjlyes(String ids,String spyj, ModelMap mmap){
//    	String[] id = Convert.toStrArray(ids);
//    	for(int i=0;i<id.length;i++){
//    		
//    		GcProjectSbclht sbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i].toString()));
//    		if(sbclht!=null){
//    			GcProjectSbclht gcProjectSbclht = new GcProjectSbclht();
//        		gcProjectSbclht.setId(Long.parseLong(id[i]));
//        		gcProjectSbclht.setStatus(3);
//        		gcProjectSbclht.setZjl(getLoginName());
//        		gcProjectSbclht.setZjlAt(new Date());
//        		gcProjectSbclht.setSpyj(spyj);
//        		gcProjectSbclhtService.updateGcProjectSbclht(gcProjectSbclht);
//        		
//        		GcProjectSbclht l_obj = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i]));
//        		//发送消息通知
////            	gcSendTipService.sendTipXm("sbclht", l_obj.getName(), l_obj.getOrderNo(), 
////            			l_obj.getCreateUser(), DateUtils.dateTime(l_obj.getCreateAt()), 
////            			l_obj.getStatus().toString(), null, l_obj.getId().toString());
//        		
//        		try {
//            		List<Map> userlis = gcSendTipMapper.selectGcToUserByName(gcProjectSbclht.getCreateUser());
//            		if(userlis!=null && userlis.size()>0){
//            			String phonenumber = userlis.get(0).get("phonenumber").toString();//创建人
//            			AliyunSmsUtils.returnSmsTz(phonenumber);
//            		}
//    			} catch (Exception e) {
//    				// TODO: handle exception
//    				e.printStackTrace();
//    			}
//    		}
//    	}
//    	
//    	return toAjax(1);
//    }
//    
//    @Log(title = "不通过", businessType = BusinessType.UPDATE)
//    @PostMapping("/zjlno")
//    @ResponseBody
//    public AjaxResult zjlno(String ids,String spyj, ModelMap mmap){
//    	String[] id = Convert.toStrArray(ids);
//    	for(int i=0;i<id.length;i++){
//    		GcProjectSbclht sbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i].toString()));
//    		if(sbclht!=null){
//    			GcProjectSbclht gcProjectSbclht = new GcProjectSbclht();
//        		gcProjectSbclht.setId(Long.parseLong(id[i]));
//        		gcProjectSbclht.setStatus(4);
//        		gcProjectSbclht.setZjl(getLoginName());
//        		gcProjectSbclht.setZjlAt(new Date());
//        		gcProjectSbclht.setSpyj(spyj);
//        		gcProjectSbclhtService.updateGcProjectSbclht(gcProjectSbclht);
//            	
//            	GcProjectFlow obj = new GcProjectFlow();
//            	obj.setGcProjectid(sbclht.getGcProjectid());
//                obj.setSbclht(1);
//                obj.setSbclhtps(0);
//                obj.setUpdateAt(new Date());
//                obj.setUpdateUser(getLoginName());
//            	gcProjectFlowService.updateGcProjectFlow(obj);
//            	
//            	GcProjectSbclht l_obj = gcProjectSbclhtService.selectGcProjectSbclhtById(Long.parseLong(id[i]));
//        		//发送消息通知
////            	gcSendTipService.sendTipXm("sbclht", l_obj.getName(), l_obj.getOrderNo(), 
////            			l_obj.getCreateUser(), DateUtils.dateTime(l_obj.getCreateAt()), 
////            			l_obj.getStatus().toString(), null, l_obj.getId().toString());
//            	
//            	try {
//            		List<Map> userlis = gcSendTipMapper.selectGcToUserByName(gcProjectSbclht.getCreateUser());
//            		if(userlis!=null && userlis.size()>0){
//            			String phonenumber = userlis.get(0).get("phonenumber").toString();//创建人
//            			AliyunSmsUtils.returnSmsTz(phonenumber);
//            		}
//    			} catch (Exception e) {
//    				// TODO: handle exception
//    				e.printStackTrace();
//    			}
//    		}
//    	}
//    	return toAjax(1);
//    }
//    
//    /**
//     * 修改设备材料合同
//     */
//    @GetMapping("/detail/{id}")
//    public String detail(@PathVariable("id") Long id, ModelMap mmap)
//    {
//        GcProjectSbclht gcProjectSbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(id);
//        
//        GcProjectSbclhtFj gcProjectSbclhtFj = new GcProjectSbclhtFj();
//        gcProjectSbclhtFj.setDeleteFlag(1);
//        gcProjectSbclhtFj.setSbclhtId(id);
//        List<GcProjectSbclhtFj> sbclhtFjlis = 
//        		gcProjectSbclhtFjService.selectGcProjectSbclhtFjList(gcProjectSbclhtFj);
//        
//        if(gcProjectSbclht.getZlwj()!=null && !gcProjectSbclht.getZlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getZlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setZlwj(file);
//        }
//        
//        if(gcProjectSbclht.getHzzszlwj()!=null && !gcProjectSbclht.getHzzszlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getHzzszlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setHzzszlwj(file);
//        }
//    	mmap.put("gcProjectSbclht", gcProjectSbclht);
//    	
//    	List<Map> htlis = new ArrayList<Map>();
//    	List<Map> fjlis = new ArrayList<Map>();
//    	for(GcProjectSbclhtFj fj:sbclhtFjlis){
//    		if(fj.getType().equals("1")){
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			htlis.add(rep);
//    		}else if(fj.getType().equals("3")){
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			htlis.add(rep);
//    		}else{
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			fjlis.add(rep);
//    		}
//    	}
//    	
//    	mmap.put("htlis", htlis);
//    	mmap.put("fjlis", fjlis);
//    	
//    	GcSupply gcSupply = new GcSupply();
//    	gcSupply.setDeleteFlag(1);
//    	String[] typelis = new String[]{"3","4"};
//    	gcSupply.setTypelis(typelis);
//    	List<GcSupply> gcSupplyLis = gcSupplyService.selectGcSupplyList(gcSupply);
//    	mmap.put("gcSupplyLis", gcSupplyLis);
//    	
//    	//交货单
//    	GcProjectSbclhtjhd jhd = new GcProjectSbclhtjhd();
//    	jhd.setDeleteFlag(1);
//    	jhd.setSbclhtId(id);
//    	List<GcProjectSbclhtjhd> jhdlis = gcProjectSbclhtjhdService.selectGcProjectSbclhtjhdList(jhd);
//    	String file = "";
//    	if(jhdlis!=null && jhdlis.size()>0){
//    		for(GcProjectSbclhtjhd jhdObj:jhdlis){
//    			String[] zlis = jhdObj.getZilwj().split(",");
//    			for(int i=0;i<zlis.length;i++){
//            		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//            	}
//    		}
//        }
//    	mmap.put("jhd", file);
//    	
//    	//付款列表
//    	double fkjehz = 0.0;//发票金额汇总
//    	GcFk gcFk = new GcFk();
//    	gcFk.setDeleteFlag(1);
//    	gcFk.setGcProjectid(gcProjectSbclht.getGcProjectid());
//    	gcFk.setProjectId(gcProjectSbclht.getId());
//    	//1.设备材料合同 2.施工安装合同 3.工程其它合同 4.一般性费用 5.其它费用
//    	gcFk.setXmtype(1);
//    	gcFk.setCkdw(gcProjectSbclht.getSupplyName());
//    	List<GcFk> fklis = gcFkService.selectGcFkList(gcFk);
//    	for(GcFk obj:fklis){
//    		fkjehz = DecimalCalculateUtil.add(fkjehz, Double.valueOf(obj.getLjzf().toString()));
//    	}
//    	mmap.put("fklis", fklis);
//    	mmap.put("fkjehz", fkjehz);
//    	
//    	//发票列表
//    	double fpjehz = 0.0;//发票金额汇总
//    	String fpFile = "";
//    	GcFkfp gcFkfp = new GcFkfp();
//    	gcFkfp.setDeleteFlag(1);
//    	gcFkfp.setGcProjectid(gcProjectSbclht.getGcProjectid());
//    	gcFkfp.setProjectId(gcProjectSbclht.getId());
//    	//1.设备材料合同 2.施工安装合同 3.工程其它合同 4.一般性费用 5.其它费用
//    	gcFkfp.setXmtype(1);
//    	gcFkfp.setCkdw(gcProjectSbclht.getSupplyName());
//    	List<GcFkfp> fkfplis = gcFkfpService.selectGcFkfpList(gcFkfp);
//    	for(GcFkfp obj:fkfplis){
//    		fpjehz = DecimalCalculateUtil.add(fpjehz, Double.valueOf(obj.getFpjine().toString()));
//    		fpFile = "";
//    		String[] zlis = obj.getFap().split(",");
//    		for(int i=0;i<zlis.length;i++){
//				if(zlis[i].equals("")){
//					fpFile = "";
//				}else{
//					fpFile += RuoYiConfig.getOnPath()+zlis[i];
//				}
//        	}
//			obj.setFap(fpFile);
//			obj.setFpriqvo(DateUtils.dateTime(obj.getFpriq()));
//    	}
//    	
//    	mmap.put("fkfplis", fkfplis);
//    	mmap.put("fpjehz", fpjehz);
//    	return prefix + "/detail";
//    }
//    
//    /**
//     * 工程审批
//     */
//    @GetMapping("/detailgcsp/{id}")
//    public String detailgcsp(@PathVariable("id") Long id, ModelMap mmap)
//    {
//        GcProjectSbclht gcProjectSbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(id);
//        
//        GcProjectSbclhtFj gcProjectSbclhtFj = new GcProjectSbclhtFj();
//        gcProjectSbclhtFj.setDeleteFlag(1);
//        gcProjectSbclhtFj.setSbclhtId(id);
//        List<GcProjectSbclhtFj> sbclhtFjlis = 
//        		gcProjectSbclhtFjService.selectGcProjectSbclhtFjList(gcProjectSbclhtFj);
//        
//        if(gcProjectSbclht.getZlwj()!=null && !gcProjectSbclht.getZlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getZlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setZlwj(file);
//        }
//        
//        if(gcProjectSbclht.getHzzszlwj()!=null && !gcProjectSbclht.getHzzszlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getHzzszlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setHzzszlwj(file);
//        }
//    	mmap.put("gcProjectSbclht", gcProjectSbclht);
//    	
//    	List<Map> htlis = new ArrayList<Map>();
//    	List<Map> fjlis = new ArrayList<Map>();
//    	for(GcProjectSbclhtFj fj:sbclhtFjlis){
//    		if(fj.getType().equals("1")){
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			htlis.add(rep);
//    		}else if(fj.getType().equals("3")){
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			htlis.add(rep);
//    		}else{
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			fjlis.add(rep);
//    		}
//    	}
//    	
//    	mmap.put("htlis", htlis);
//    	mmap.put("fjlis", fjlis);
//    	
//    	GcSupply gcSupply = new GcSupply();
//    	gcSupply.setDeleteFlag(1);
//    	String[] typelis = new String[]{"3","4"};
//    	gcSupply.setTypelis(typelis);
//    	List<GcSupply> gcSupplyLis = gcSupplyService.selectGcSupplyList(gcSupply);
//    	mmap.put("gcSupplyLis", gcSupplyLis);
//    	
//    	//交货单
//    	GcProjectSbclhtjhd jhd = new GcProjectSbclhtjhd();
//    	jhd.setDeleteFlag(1);
//    	jhd.setSbclhtId(id);
//    	List<GcProjectSbclhtjhd> jhdlis = gcProjectSbclhtjhdService.selectGcProjectSbclhtjhdList(jhd);
//    	String file = "";
//    	if(jhdlis!=null && jhdlis.size()>0){
//    		for(GcProjectSbclhtjhd jhdObj:jhdlis){
//    			String[] zlis = jhdObj.getZilwj().split(",");
//    			for(int i=0;i<zlis.length;i++){
//            		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//            	}
//    		}
//        }
//    	mmap.put("jhd", file);
//        return prefix + "/detailgcsp";
//    }
//    
//    /**
//     * 总经理审批
//     */
//    @GetMapping("/detailzjlsp/{id}")
//    public String detailzjlsp(@PathVariable("id") Long id, ModelMap mmap)
//    {
//        GcProjectSbclht gcProjectSbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(id);
//        
//        GcProjectSbclhtFj gcProjectSbclhtFj = new GcProjectSbclhtFj();
//        gcProjectSbclhtFj.setDeleteFlag(1);
//        gcProjectSbclhtFj.setSbclhtId(id);
//        List<GcProjectSbclhtFj> sbclhtFjlis = 
//        		gcProjectSbclhtFjService.selectGcProjectSbclhtFjList(gcProjectSbclhtFj);
//        
//        if(gcProjectSbclht.getZlwj()!=null && !gcProjectSbclht.getZlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getZlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setZlwj(file);
//        }
//        
//        if(gcProjectSbclht.getHzzszlwj()!=null && !gcProjectSbclht.getHzzszlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getHzzszlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setHzzszlwj(file);
//        }
//    	mmap.put("gcProjectSbclht", gcProjectSbclht);
//    	
//    	List<Map> htlis = new ArrayList<Map>();
//    	List<Map> fjlis = new ArrayList<Map>();
//    	for(GcProjectSbclhtFj fj:sbclhtFjlis){
//    		if(fj.getType().equals("1")){
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			htlis.add(rep);
//    		}else if(fj.getType().equals("3")){
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			htlis.add(rep);
//    		}else{
//    			Map rep = new HashMap();
//    			if(fj.getZilwj()!=null && !fj.getZilwj().equals("")){
//    				rep.put("zilwj", RuoYiConfig.getOnPath()+fj.getZilwj());
//    			}else{
//    				rep.put("zilwj", "");
//    			}
//    			fjlis.add(rep);
//    		}
//    	}
//    	
//    	mmap.put("htlis", htlis);
//    	mmap.put("fjlis", fjlis);
//    	
//    	GcSupply gcSupply = new GcSupply();
//    	gcSupply.setDeleteFlag(1);
//    	String[] typelis = new String[]{"3","4"};
//    	gcSupply.setTypelis(typelis);
//    	List<GcSupply> gcSupplyLis = gcSupplyService.selectGcSupplyList(gcSupply);
//    	mmap.put("gcSupplyLis", gcSupplyLis);
//    	
//    	//交货单
//    	GcProjectSbclhtjhd jhd = new GcProjectSbclhtjhd();
//    	jhd.setDeleteFlag(1);
//    	jhd.setSbclhtId(id);
//    	List<GcProjectSbclhtjhd> jhdlis = gcProjectSbclhtjhdService.selectGcProjectSbclhtjhdList(jhd);
//    	String file = "";
//    	if(jhdlis!=null && jhdlis.size()>0){
//    		for(GcProjectSbclhtjhd jhdObj:jhdlis){
//    			String[] zlis = jhdObj.getZilwj().split(",");
//    			for(int i=0;i<zlis.length;i++){
//            		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//            	}
//    		}
//        }
//    	mmap.put("jhd", file);
//        return prefix + "/detailzjlsp";
//    }
//    
//    /**
//     * 通用上传请求（多个）
//     */
//    @PostMapping("/uploads")
//    @ResponseBody
//    public AjaxResult uploadFiles(List<MultipartFile> files) throws Exception{
//        try
//        {
//            // 上传文件路径
//            String filePath = RuoYiConfig.getUploadPath();
//            List<String> urls = new ArrayList<String>();
//            List<String> fileNames = new ArrayList<String>();
//            List<String> newFileNames = new ArrayList<String>();
//            List<String> originalFilenames = new ArrayList<String>();
//            for (MultipartFile file : files)
//            {
//                // 上传并返回新文件名称
//                String fileName = FileUploadUtils.upload(filePath, file);
//                String url = serverConfig.getUrl() + fileName;
//                urls.add(url);
//                fileNames.add(fileName);
//                newFileNames.add(FileUtils.getName(fileName));
//                originalFilenames.add(file.getOriginalFilename());
//            }
//            AjaxResult ajax = AjaxResult.success();
//            ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
//            ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
//            ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER));
//            ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
//            return ajax;
//        }
//        catch (Exception e)
//        {
//            return AjaxResult.error(e.getMessage());
//        }
//    }
//    
//    //---------上传正式合同
//    @GetMapping("/editZsht/{id}")
//    public String editZsht(@PathVariable("id") Long id, ModelMap mmap){
//    	//设备材料合同
//    	GcProjectSbclht gcProjectSbclht = gcProjectSbclhtService.selectGcProjectSbclhtById(id);
//    	
//    	GcProjectSbclhtFj sbclhtFj = new GcProjectSbclhtFj();
//    	sbclhtFj.setDeleteFlag(1);
//    	sbclhtFj.setType("3");
//    	sbclhtFj.setSbclhtId(id);
//    	List<GcProjectSbclhtFj> fj = gcProjectSbclhtFjService.selectGcProjectSbclhtFjList(sbclhtFj);
//    	
//    	if(fj!=null && fj.size()>0){
//    		gcProjectSbclht.setZlwj(fj.get(0).getZilwj());
//    	}else{
//    		gcProjectSbclht.setZlwj(null);
//    	}
//    	
//    	if(gcProjectSbclht.getZlwj()!=null && !gcProjectSbclht.getZlwj().equals("")){
//        	String[] zlis = gcProjectSbclht.getZlwj().split(",");
//        	String file = "";
//        	for(int i=0;i<zlis.length;i++){
//        		file += RuoYiConfig.getOnPath()+zlis[i]+",";
//        	}
//        	gcProjectSbclht.setZlwj(file);
//        }
//    	mmap.put("gcProjectSbclht", gcProjectSbclht);
//        return prefix + "/editZsht";
//    }
//
//    /**
//     * 修改上传正式合同
//     */
//    @Log(title = "上传设备材料正式合同", businessType = BusinessType.UPDATE)
//    @PostMapping("/editZsht")
//    @ResponseBody
//    public AjaxResult editZshtSave(GcProjectSbclht gcProjectSbclht){
//    	try {
//    		GcProjectSbclht obj_sbclht = new GcProjectSbclht();
//    		obj_sbclht.setStatus(6);
//    		obj_sbclht.setUpdateUser(getLoginName());
//    		obj_sbclht.setUpdateAt(new Date());
//    		obj_sbclht.setId(gcProjectSbclht.getId());
//    		gcProjectSbclhtService.updateGcProjectSbclht(obj_sbclht);
//    		
//    		GcProjectSbclhtFj gcProjectSbclhtFj = new GcProjectSbclhtFj();
//        	gcProjectSbclhtFj.setDeleteFlag(1);
//        	gcProjectSbclhtFj.setGcProjectid(gcProjectSbclht.getGcProjectid());
//        	gcProjectSbclhtFj.setOrderNo(gcProjectSbclht.getOrderNo());
//        	gcProjectSbclhtFj.setSbclhtId(gcProjectSbclht.getId());
//        	gcProjectSbclhtFj.setType("3");//1合同，2询价单，3正式合同
//        	List<GcProjectSbclhtFj> lis = gcProjectSbclhtFjService.selectGcProjectSbclhtFjList(gcProjectSbclhtFj);
//        	
//        	if(lis!=null && lis.size()>0){
//        		GcProjectSbclhtFj obj = lis.get(0);
//            	obj.setZilwj(gcProjectSbclht.getZlwj());
//            	gcProjectSbclhtFjService.updateGcProjectSbclhtFj(obj);
//        	}else{
//        		gcProjectSbclhtFj.setCreateUser(getLoginName());
//        		gcProjectSbclhtFj.setUpdateUser(getLoginName());
//            	gcProjectSbclhtFj.setCreateAt(new Date());
//            	gcProjectSbclhtFj.setUpdateAt(new Date());
//            	gcProjectSbclhtFj.setZilwj(gcProjectSbclht.getZlwj());
//            	gcProjectSbclhtFjService.insertGcProjectSbclhtFj(gcProjectSbclhtFj);
//        	}
//    		
//    		//上传项目正式合同-修改流程节点
//    		GcProjectFlow obj = new GcProjectFlow();
//        	obj.setGcProjectid(gcProjectSbclht.getGcProjectid());
//        	obj.setSbclht(1);
//            obj.setSbclhtcrk(1);
//            obj.setSbclhtfk(1);
//            obj.setSbclhtfp(1);
//            obj.setSbclhtjhd(1);
//            obj.setSbclhtps(1);
//            obj.setUpdateAt(new Date());
//            obj.setUpdateUser(getLoginName());
//        	gcProjectFlowService.updateGcProjectFlow(obj);
//		} catch (Exception e) {
//			// TODO: handle exception
//			return error(e.getMessage());
//		}
//        return toAjax(1);
//    }
//}